Dette spørgsmål har allerede svar her: Hvordan returnerer jeg svaret fra et asynkront opkald? (42 svar) Lukket for 5 måneder siden. Så når du kører følgende kode, er svaret fra console.log (ba) udefineret Men når jeg prøver dette i Chrome V8-konsollen, får jeg den korrekte output, jeg forventer. Jeg er ikke helt sikker på, hvad der foregår her. lad ba; funktion Setqa () { (asynkronisering () => { afventer hentning ('spørgsmål.json') . derefter (res => res.json ()) . derefter (async (data) => { ba = afventer data; }); }) (); } Setqa (); console.log (ba); Indholdet af json-filen er følgende: "spørgsmål": [{ "questionType": "multiple", "spørgsmål": "Hvordan er vejret", "svar": "", "spørgsmål svar": "" }, { "questionType": "multiple", "spørgsmål": "Hvordan har du det i dag?", "svar": " 1", "questionAnswer": "textPurpose1" } ]
2021-02-27 08:12:57
Jeg tror det skal fungere lad ba; funktion Setqa () { returner hentning ('spørgsmål.json') . derefter (res => res.json ()) . derefter (async (data) => { ba = afventer data; }); } Setqa (). Derefter (() => konsol.log (ba)); Men en bedre tilgang ville være asynkroniseringsfunktion setQa () { const res = afventer hentning ('spørgsmål.json'); returnere res.json (); } lad ba = afvente setQa (); | Er det ikke det svar, du leder efter? Gennemse andre spørgsmål, der er tagget javascript json fetch console.log, eller still dit eget spørgsmål.